package exception;
/**
 * throw关键字,用来对外主动抛出一个异常
 * 通常下面两种情况我们主动对外抛出异常
 * 1:当程序遇到一个满足语法,但是不满足业务要求时,可以抛出一个异常告知调用者
 * 2:程序执行遇到一个异常,但是该异常不该在当前代码片段被解决时可以抛给调用者.
 */
public class ThrowDemo {
    public static void main(String[] args) {
        Person p = new Person();
        /*
        当我们调用一个含有throws声明异常抛出方法时,编译器要求我们必须处理
        这个异常,否则编译不通过;
        处理手段有两种:
        1:使用try-catch捕获并处理这个异常
        2:在当前方法(本案例就是main方法)上继续使用throws声明该异常的抛出给调用者解决
        具体选取那种取决于异常处理的责任问题.
         */
        try {
            p.setAge(2999992);//符合语法,但是不符合业务逻辑需求
        } catch (IllegalAgeException e) {
            e.printStackTrace();
         }
        System.out.println("此人年龄:" + p.getAge());
    }
}
